Stored Procedure (संग्रहीत प्रक्रिया) SQL कोड तैयार किया जाता है जिसे संग्रहीत किया जा सकता है ताकि कोड को बार-बार उपयोग किया जा सके।
इसलिए, यदि आपके पास एक SQL क्वेरी है जिसे आप बार-बार लिखते हैं, तो इसे एक संग्रहीत प्रक्रिया के रूप में सहेजें और फिर इसे निष्पादित करने के लिए कॉल करें।
आप संग्रहीत प्रक्रिया में पैरामीटर भी पास कर सकते हैं ताकि संग्रहीत प्रक्रिया पारित पैरामीटर मानों पर कार्य कर सके।
CREATE PROCEDURE procedure_name
AS
sql_statement
GO
EXEC procedure_name
निम्नलिखित "Northwind" डेटाबेस की "Customers" ("ग्राहक") तालिका से एक नमूना है:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 5021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 5023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
निम्नलिखित SQL क्वेरी "SelectAllCustomers" नामक एक संग्रहीत प्रक्रिया बनाती है जो ग्राहक तालिका से सभी रिकॉर्ड का चयन करती है:
CREATE PROCEDURE SelectAllCustomers
AS
SELECT * FROM Customers
GO
आइए उपरोक्त संग्रहीत प्रक्रिया को निम्नानुसार निष्पादित करें:
EXEC SelectAllCustomers
निम्नलिखित SQL क्वेरी एक संग्रहीत प्रक्रिया बनाती है जो ग्राहक तालिका से किसी विशिष्ट शहर के ग्राहकों का चयन करती है:
CREATE PROCEDURE SelectAllCustomers @City nvarchar(30)
AS
SELECT * FROM Customers WHERE City = @City
GO
आइए उपरोक्त संग्रहीत प्रक्रिया को निम्नानुसार निष्पादित करें:
EXEC SelectAllCustomers @City = 'London'
कई मापदंडों को कॉन्फ़िगर करना बहुत आसान है, अर्थात् प्रत्येक पैरामीटर और डेटा प्रकार को अल्पविराम से अलग करके सूचीबद्ध करें जैसा कि नीचे दिखाया गया है।
निम्नलिखित SQL कथन एक संग्रहीत प्रक्रिया बनाता है जो ग्राहक तालिका से एक विशिष्ट ज़िप कोड वाले विशिष्ट शहर से ग्राहकों का चयन करता है:
CREATE PROCEDURE SelectAllCustomers @City nvarchar(30), @PostalCode nvarchar(10)
AS
SELECT * FROM Customers WHERE City = @City AND PostalCode = @PostalCode
GO
आइए उपरोक्त संग्रहीत प्रक्रिया को निम्नानुसार निष्पादित करें:
EXEC SelectAllCustomers @City = 'London', @PostalCode = 'WA1 1DP'